package com.wizz.trade.excel;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON;
import com.wizz.trade.information.entity.Svar;
import com.wizz.trade.information.service.SvarService;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author fyftless
 */
public class ExcelMethodTest {

    @Resource
    private SvarService svarService;

    public void testReadEntity() {
        String fileName = "工作簿1.xlsx";
        // 这里 需要指定读用哪个class去读，然后读取第一个sheet 文件流会自动关闭
        EasyExcel.read(fileName, Svar.class, new SvarListener(svarService)).sheet().doRead();
    }


//    // 通过Map作为整体的数据结构模型
//    public void readWithoutObj() {
//        // 被读取的文件绝对路径
//        String fileName = "path/testDemo.xlsx";
//        // 接收结果集，为一个List列表，每个元素为一个map对象，key-value对为excel中每个列对应的值
//        List<Map<Integer,String>> resultList = new ArrayList<>();
//        EasyExcel.read(fileName, new AnalysisEventListener<Map<Integer,String>>() {
//            @Override
//            public void invoke(Map<Integer, String> map, AnalysisContext analysisContext) {
//                System.out.println("解析到一条数据：" + JSON.toJSONString(map));
//                resultList.add(map);
//            }
//            @Override
//            public void doAfterAllAnalysed(AnalysisContext analysisContext) {
//                System.out.println("excel文件解析完毕！" + JSON.toJSONString(resultList));
//            }
//        }).sheet().doRead();
//    }

}
